GRUB_FILES=disk/boot/grub/stage1 disk/boot/grub/stage2 disk/boot/grub/menu.lst
CC=gcc
CFLAGS=-I ../include/ -Wall -Wextra -nostdlib -nostartfiles -nodefaultlibs -c
kernel.bin : linker.ld loader.o kernel.o video.o math.o ports.o cursorctrl.o splash.o
	ld -T linker.ld -o kernel.bin loader.o kernel.o video.o math.o ports.o cursorctrl.o splash.o
#######################################
#            OBJECT FILES             #
#######################################
kernel.o : kernel.c
	$(CC) -o kernel.o $(CFLAGS) kernel.c
video.o : video.c
	$(CC) -o video.o $(CFLAGS) video.c
math.o : math.c
	$(CC) -o math.o $(CFLAGS) math.c
ports.o : ports.c
	$(CC) -o ports.o $(CFLAGS) ports.c
cursorctrl.o : cursorctrl.c
	$(CC) -o cursorctrl.o $(CFLAGS) cursorctrl.c
splash.o : splash.c
	$(CC) -o splash.o $(CFLAGS) splash.c
loader.o : loader.s
	nasm -f elf -o loader.o loader.s
#######################################
#            SOURCE FILES             #
#######################################
kernel.c : ../include/multiboot.h ../include/video.h ../include/splash.h
video.c : ../include/math.h ../include/ports.h ../include/video.h
math.c :
ports.c :
cursorctrl.c : ../include/video.h ../include/ports.h
#######################################
#               SPECIAL               #
#######################################
.PHONEY : clean
clean :
	rm -f *.bin *.o